// 定义验证jwt中间件
import { Context, Next } from 'koa';
import { verify } from '../../utils/auth';

function AuthMiddleware(ctx: Context, next: Next) {
    const token = ctx.headers['authorization'];
    if (token !== undefined && token !== "") {
        const { error } = verify(token); //使用自定义工具库验证token,返回解构对象
        if (error !== null) {
            ctx.body = {
                msg: error.message,
                code: 4000
            }
            return
        } else {
            return next(); //验证成功，放行
        }
    }
    ctx.body = {
        msg: 'authorization 不可以为空',
        code: 4000
    }
    return
}
export default AuthMiddleware